package il.ac.technion.cs236700.address_book;

import java.util.ArrayList;
import java.util.Arrays;
/** 
 * 
 * @authors Regev Azriel & Sharon Ronen
 *
 */
public class Defaults {
	
	public static String getValue(ESUPPORTED_KEYS etype){
		return SUPPORTED_KEYS.get(etype.ordinal());
	}
	
	public static final ArrayList<String> SUPPORTED_KEYS = new ArrayList<String>(
			Arrays.asList(new String[]{      
					"First Name", 
					"Last Name", 
					"Home Phone",
					"Mobile Phone",
					"Work Phone",
					"Fax",
					"Email",
					"Instant Messanger Type",
					"Instant Messanger ID",
					"Home Address",
					"Work Address",
					"Home page",
					"Title",
			"Company" }));
	
	public enum ESUPPORTED_KEYS {
		FirstName(){
			@Override
			public String displayLable() {
				return "First Name";
			}			 
		},
		LastName(){
			@Override
			public String displayLable() {				
				return "Last Name";
			}
		},
		HomePhone(){
			@Override
			public String displayLable() {
				return "Home Phone";
			}
		},
		MobilePhone(){
			@Override
			public String displayLable() {
				return "Mobile Phone";
			}
		},
		WorkPhone(){
			@Override
			public String displayLable() {
				return "Work Phone";
			}
		},
		Fax(){
			@Override
			public String displayLable() {
				return "Fax";
			}
		},
		Email(){
			@Override
			public String displayLable() {
				return "Email";
			}
		},
		InstantMessangerType(){
			@Override
			public String displayLable() {
				return "Instant Messanger Type";
			}
		},
		InstantMessangerID(){
			@Override
			public String displayLable() {
				return "Instant Messanger ID";
			}
		},
		HomeAddress(){
			@Override
			public String displayLable() {
				return "Home Address";
			}
		},
		WorkAddress(){
			@Override
			public String displayLable() {
				return "Work Address";
			}
		},
		Homepage(){
			@Override
			public String displayLable() {
				return "Home page";
			}
		},
		Title(){
			@Override
			public String displayLable() {
				return "Title";
			}
		},
		Company(){
			@Override
			public String displayLable() {
				return "Company";
			}
		};
		public abstract String displayLable();
	}
	
	public static final String FirstName = getValue(ESUPPORTED_KEYS.FirstName);
	public static final String LastName = getValue(ESUPPORTED_KEYS.LastName);
	public static final String HomePage = getValue(ESUPPORTED_KEYS.Homepage);
	public static final String Email = getValue(ESUPPORTED_KEYS.Email);
	public static final String HomePhone = getValue(ESUPPORTED_KEYS.HomePhone);
	public static final String Title = getValue(ESUPPORTED_KEYS.Title);
	public static final String Company = getValue(ESUPPORTED_KEYS.Company);

}
